const fs = require('fs');
const path = require('path');

// 主函数：处理HTML文件
function processHtmlFile(htmlFilePath) {
    try {
        // 读取HTML文件内容
        let htmlContent = fs.readFileSync(htmlFilePath, 'utf8');
        
        // 查找所有外部JS引用
        const jsRefs = htmlContent.match(/<script\s+[^>]*src=["']([^"']+)["'][^>]*><\/script>/gi) || [];
        
        // 处理每个JS引用
        jsRefs.forEach(ref => {
            // 提取JS文件路径
            const jsPathMatch = ref.match(/src=["']([^"']+)["']/i);
            if (!jsPathMatch) return;
            
            const jsPath = jsPathMatch[1];
            const fullJsPath = path.join(path.dirname(htmlFilePath), jsPath);
            
            // 读取JS文件内容
            const jsContent = fs.readFileSync(fullJsPath, 'utf8');
            
            // 创建内联脚本标签
            const inlineScript = `<script>\n${jsContent}\n</script>`;
            
            // 替换外部引用为内联脚本
            htmlContent = htmlContent.replace(ref, inlineScript);
        });
        
        // 生成新的HTML文件名
        const outputPath = htmlFilePath.replace(/\.html$/, '-standalone.html');
        
        // 写入处理后的HTML文件
        fs.writeFileSync(outputPath, htmlContent);
        
        console.log(`成功生成独立HTML文件: ${outputPath}`);
    } catch (error) {
        console.error('处理HTML文件时出错:', error);
    }
}
processHtmlFile(path.join(__dirname, '开始游戏.html'));